package com.aipp.mall.h5.domain.entity;

import com.aipp.mall.common.anno.Note;
import com.aipp.mall.common.model.BaseAudit;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * 会员信息对象 ums_member
 *
 * @author zcc
 */
@EqualsAndHashCode(callSuper = true)
@Data
@TableName("ums_member")
public class Member extends BaseAudit implements Serializable {

    @Serial
    private static final long serialVersionUID = 265256946114994059L;

    private Long id;

    @Note("昵称")
    private String nickname;

    @Note(name = "密码")
    private String password;

    private String phoneEncrypted;

    @Note(name = "隐藏前三位后四位的手机号")
    private String phoneHidden;

    @Note(name = "用户备注")
    private String mark;

    @Note(name = "帐号启用状态:0->禁用；1->启用")
    private Integer status;

    @Note(name = "头像")
    private String avatar;

    @Note(name = "性别：0->未知；1->男；2->女")
    private Integer gender;

    @Note(name = "用户所在城市")
    private String city;

    @Note(name = "用户所在省份")
    private String province;

    @Note(name = "用户所在国家")
    private String country;

    @Note(name = "公众号运营者对粉丝的备注，公众号运营者可在微信公众平台用户管理界面对粉丝添加备注")
    private String remark;

    @Note(name = "生日")
    private LocalDate birthday;

    @Note(name = "推广员id")
    private Long spreadUid;

    @Note(name = "推广员关联时间")
    private LocalDateTime spreadTime;

    @Note(name = "等级")
    private Integer level;

    @Note(name = "用户剩余积分")
    private BigDecimal integral;

}
